A programmable pulse delay line is a device that is capable of providing a variable amount of time delay to input pulses based on an input control signal. Typically, pulse delay lines include a number of serially connected switchable delay units through which an input pulse must flow. A binary control value is programmed into the delay line for setting the delay of each of the switchable delay units in a predetermined manner. A pulse is then allowed to flow through the pulse delay line, which delays the pulse by the programmed amount. After the pulse has left the last switchable delay unit, another binary control value can be applied to the delay line for use with another input pulse. The switchable delay units will often have switchable delay values that are binarily weighted (i.e., by factors of two) so that the total amount of delay introduced by the units will be equal to the binary control value multiplied by a constant delay value .theta..
A problem with conventional programmable delay lines is that the programming update rate of the delay line is limited by the maximum delay of the delay line. That is, a new binary control value cannot be programmed into the delay line until it is certain that the trailing edge of a previous pulse has passed the switch in the last switchable delay unit. Otherwise, the previous pulse could be cutoff or distorted. This restraint seriously limits the capabilities of the pulse delay system because only one of the switchable delay units is being used (i.e., is propagating a pulse) at any instant in time. Thus, system resources are being under-utilized and system speed is sub-optimal.
Therefore, there is a need for a programmable pulse delay system that is capable of providing a program update rate that is not limited by the maximum delay of the system. There is also a need for a programmable pulse delay system that is capable of providing enhanced utilization of system resources.